Test systems are used to test complex electronic product devices over many phases of the product's life cycle which include test development, qualification testing, and manufacturing testing. These complex electronic product devices are tested for many independent parameters and are part of many different model families. Due to the large number of different products, different parameters to be tested and product model families, a test engineer is tasked with constantly modifying the test system without errantly causing the test system to become inoperative due to misplaced modifications or code.
Prior art test programs are difficult to design tests for because a test engineer has to focus on the whole test when designing or modifying the individual parts of a test program, such as individual tests, tests lists or test algorithms. In prior art systems, test procedures are incorporated into the test algorithms, thereby making the test algorithm susceptible to errantly entered commands while modifying a test procedure. Further, prior art programs are difficult to design tests for because they use data tables. This requires a test engineer to create and enter all the parameters to be used in the test program in this data table. This also requires test engineers to perform a tedious and lengthy procedure for structuring the data, in which the parameters for each datapoint must be entered into the table. The tediousness and abstractness of the data entering process and requirement for intensive programmer input in the data table method can lead to errors.
In addition, test sequencing can be rigid and inflexible when using test systems designed with large bulky test algorithms incorporated into structured programs. This increases the time a test engineer spends on rewriting or debugging the test system algorithms due to inerrant test procedure modifications or entries. In addition, portions of a test cannot be easily reused by a test engineer because they are written into a larger structured program. This inability to reuse test system code increases time rewriting or reentering new non-reusable test system code.